I. Wzorce kreacyjne 1. Singleton 2. Budowniczy 3. Prototyp 4. Fabryka 5. Fabryka abstrakcyjna II. Wzorce strukturalne 1. Adapter 2. Most 3. Kompozyt 4. Dekorator 5. Fasada 6. Pyłek 7. Pełnomocnik III. Wzorce czynnościowe 1. Łańcuch zobowiązań 2. Polecenie 3. Interpreter 4. Iterator 5. Mediator 6. Pamiątka 7. Obserwator 8. Stan 9. Strategia 10. Metoda szablonowa 11. Odwiedzający |
Pamiątka (memento) - wzorzec projektowy (design pattern) - java1. Cel:Wzorzec Pamiątka (memento) służy do uzewnętrznienia stan obiektu, zazwyczaj do dostarczenia funkcjonalność przywracania. Użyty jest gdy chcemy przywrócić obiekt do poprzedniego stanu. 2. Problem: Chcemy mieć możliwość powrócić do poprzedniego stanu obiektu. Chcemy zaimplementować funkcję cofnij (undo) lub wycofaj (rollback). 3. Rozwiązanie: Osiągamy to poprzez uzewnętrznienie obiektu w stan wewnętrzny, taki że można do niego później zwrócić. Inna zaleta użycia tego wzorca powoduje że osłania on złożone elementy wewnętrzne przed innymi obiektami. Wzorzec memento opiera się na trzech klasach: Originator, Memento i Caretaker. Originator: to obiekt, dla którego musimy zapamiętać stan na wypadek, gdybyśmy musieli go kiedyś przywrócić. Caretaker: jest to klasa odpowiedzialna za wyzwalanie zmian w inicjatorze lub za wyzwalanie akcji, przez którą inicjator powraca do poprzedniego stanu. Memento: Jest to klasa odpowiedzialna za przechowywanie wewnętrznego stanu inicjatora. 4. Diagram klas wzorca Pamiątka (memento): 5. Implementacja: Klasa testująca:
Wynik programu jest następujący: Pierwsza edycja *Wypisanie pierwszej linii zapisanie stanu i dodanie drugiej linii Wypisanie po drugiej edycji stanu *Wypisanie pierwszej linii *Dopisanie drugiej linii Przywrócenie starego stanu i wyświetlenie *Wypisanie pierwszej linii 6. Zastosowanie w kodzie java: - java.util.Date - java.io.Serializable - javax.faces.component.StateHolder - wszystkie implementacje |
---|